<?php
class Map{
    /**
     * 获取当前的地址定位
     * @example         \Map::getIp()
     * @return mixed
     */
    public static function getIp(){
        //http://api.map.baidu.com/location/ip?ak=请输入您的AK&coor=bd09ll
        $data=[
            'ak'=>config('map.ak'),
            'coor'=>'bd09ll'
        ];
        $url=config('map.baidu_map_url').config('map.ip').'?'.http_build_query($data);
        return doCurl($url);

    }

    /**
     * 根据地址获取经纬度
     * @example          \Map::getLngLat("重庆市南岸区国际社区观园2期");
     * @param $address   地址
     * @return string
     */
    public static function getLngLat($address){
        $data=[
            'address'=>$address,
            'ak'=>config('map.ak'),
            'output'=>'json'
        ];
        $url=config('map.baidu_map_url').config('map.geocoder').'?'.http_build_query($data);
        return doCurl($url);
    }

    /**
     * 生成静态图api
     * @example          \Map::staticImage("重庆市南岸区国际社区观园2期");
     * @param $center    可以填写地名或者经纬度
     * @return mixed
     */
    public static function staticImage($center){
        //http://api.map.baidu.com/staticimage/v2?ak=E4805d16520de693a3fe707cdc962045&mcode=666666&center=116.403874,39.914888&width=300&height=200&zoom=11
        $data=[
            'ak'=>config('map.ak'),
            'width'=>config('map.width'),
            'height'=>config('map.height'),
            'center'=>$center,
            'markers'=>$center
        ];
        $url=config('map.baidu_map_url').config('map.staticimage').'?'.http_build_query($data);
        return doCurl($url);
    }

    /**
     * 全景静态图api
     * @example             \Map::panorama("116.313393,40.04778");
     * @param $location     根据经纬度获取地址
     * @return mixed
     */
    public static function panorama($location){
        $data=[
            'ak'=>config('map.ak'),
            'width'=>config('map.width'),
            'height'=>config('map.height'),
            'location'=>$location,
            'fov'=>config('map.fov')
        ];
        $url=config('map.baidu_map_url').config('map.panorama').'?'.http_build_query($data);
        return doCurl($url);
    }

}